package com.jt.controller;

import com.jt.service.FileService;
import com.jt.vo.ImageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@RestController   //表示返回的数据时一个JSON
public class FileController {

    @Autowired
    private FileService fileService;

    /**
     * 业务说明:实现用户文件上传
     * url:/file
     * 请求参数:fileImage
     * 返回值:  操作成功的字符串
     */

    @RequestMapping("/file")
    public String file(MultipartFile fileImage) throws IOException {
        String dir = "D:/Ideaworkspace/images";
        File dirFile = new File(dir);
        if (!dirFile.exists()){
            dirFile.mkdirs();    //表示创建多级目录
        }
        //获取文件名称
        String fileName = fileImage.getOriginalFilename();
        //将文件封装为一个完整的路径
        File imageFile = new File(dir+"/"+fileName);
        //接口提供的一个方法  实现文件的上传
        fileImage.transferTo(imageFile);
        return "文件上传成功";
    }

    /**
     * 业务实现:文件上传的实现
     * url地址:/pic/upload?dir=image
     * 参数:uploadFile
     * 返回值: ImageVO
     */
    @RequestMapping("/pic/upload")
    public ImageVO uploadFile(MultipartFile uploadFile){


        return fileService.uploadFile(uploadFile);
//        String url = "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1757702845,51708014&fm=26&gp=0.jpg";
//        return ImageVO.success(url,800,800);
    };
}
